package com.probox.common.entity.vo.statistics;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.probox.common.core.annotation.Excel;
import com.probox.common.core.enums.CardTypeEnum;
import com.probox.common.core.text.Convert;
import com.probox.common.core.utils.money.MoneyUtils;
import com.probox.common.entity.utils.DictUtils;
import lombok.Data;

import java.util.Date;
import java.util.HashMap;

@Data
public class KuaDianVo implements java.io.Serializable{

    /**
     * 结算门店
     */
    @Excel(name = "结算门店")
    private String collectionName;

    /**
     * 耗卡门店
     */
    @Excel(name = "耗卡门店")
    private String cardConsumptionStoreName;

    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "耗卡时间",dateFormat = "yyyy-MM-dd")
    private Date subscribeDate;

    /**
     * 服务项目
     */
    @Excel(name = "耗卡项目")
    private String serviceName;

    @Excel(name = "sku名称")
    private String skuName;

    //耗卡金额：项目的耗卡金额（美容师耗卡金额）
    private Long settlementPrice;

    @Excel(name = "耗卡金额")
    private String settlementPriceStr;
    public String getSettlementPriceStr() {
        settlementPriceStr = MoneyUtils.changeF2Y(settlementPrice);
        return settlementPriceStr;
    }



    /**
     * 耗卡次数
     */
    @Excel(name = "耗卡次数")
    private Integer times;

    //比例
    @Excel(name = "耗卡比例")
    private Long itemServicePercent;

    /**
     * 耗卡成本 耗卡成本：耗卡金额*耗卡比例=耗卡成本
     */

    private Long costPrice;

    @Excel(name = "耗卡成本")
    private String costPriceStr;

    public String getCostPriceStr() {
        costPriceStr = MoneyUtils.changeF2Y(costPrice);
        return costPriceStr;
    }

    /**
     * 收款金币
     */
    private Long payGoldCoin;
    @Excel(name = "金币支付")
    private String payGoldCoinStr;
    public String getPayGoldCoinStr() {
        payGoldCoinStr = MoneyUtils.changeF2Y(payGoldCoin);
        return payGoldCoinStr;
    }

    /**
     * 收款银币
     */
    private Long paySilverCoin;
    @Excel(name = "银币币支付")
    private String paySilverCoinStr;
    public String getPaySilverCoinStr() {
        paySilverCoinStr = MoneyUtils.changeF2Y(paySilverCoin);
        return paySilverCoinStr;
    }


    /**
     * 结算金额 结算门店支付给耗卡门店的项目跨店结算金额。
     * （一般情况下等同于耗卡成本）
     */

    private Long collectionPrice;
    @Excel(name = "结算金额")
    private String collectionPriceStr;
    public String getCollectionPriceStr() {
        collectionPriceStr = MoneyUtils.changeF2Y(collectionPrice);
        return collectionPriceStr;
    }


    /**
     * 服务技师(咨询师)
     */
    @Excel(name = "服务技师")
    private String technicianName;

    /**
     * 客户来源
     */

    private String sourcePlatform;
    @Excel(name = "客户来源")
    private String sourcePlatformStr;
    public String getSourcePlatformStr() {
        HashMap dictCacheMap = DictUtils.getDictCacheMap("source_platform");
        sourcePlatformStr = Convert.toStr(dictCacheMap.get(sourcePlatform));
        return sourcePlatformStr;
    }


}
